package xyz.lilei23.framework.aop;

import net.sf.cglib.proxy.Callback;
import net.sf.cglib.proxy.MethodProxy;

import java.lang.reflect.Method;

/**
 * @author jack
 * @date 31/07/2021 16:20
 * @version 1.0
 **/
public interface MethodInterceptor extends net.sf.cglib.proxy.MethodInterceptor {

    /**
     * 方法拦截器
     * @param obj 对象
     * @param method 拦截方法
     * @param args 方法参数
     * @param proxy 方法代理
     * @return
     * @throws Throwable
     */
    @Override
    Object intercept(Object obj, java.lang.reflect.Method method, Object[] args,
                     MethodProxy proxy) throws Throwable;
}
